Wie können Sie PGP-Verschlüsselung auf unseren Unix-Accounts nutzen?
1. Informative Links im Internet:
Nichttechnische PGP-FAQ,
die deutsche comp.security.pgp-FAQ,
deutschsprachige PGP-Info-Seite.
Hier können Sie PGP (noncommercial)
herunterladen,
die Homepage von McAfee
(dem Hersteller von PGP).
Sie brauchen zuerst die Datei mit den nötigen Programmen. Das Archiv
können Sie hier herunterladen.
Anleitung:
In dem Archiv befinden sich folgende Dateien:
pgp |
Das eigentliche
PGP-Binary. Bitte beachten Sie, daß es sich hier um die Version "PGPfreeware
5.0i for non-commercial use" handelt. Da man in Deutschland aber
eher schlecht die "richtige" Version für Unix kaufen kann,
sollte es reichen, wenn Sie sich einfach für den Server eine Windows-Version
zulegen. Wir können natürlich keine Gewähr dafür bieten, daß dieses
Vorgehen rechtlich einwandfrei ist. |
pgp.cfg |
Hier wird
festgelegt, wo sich Ihre Keyrings befinden. |
pgpsymlink.sh |
Dieses Script
erzeugt einen symbolischen Link pgpe der auf pgp zeigt. |
pgptest.pl |
Das ist das
Test-Script um zu sehen ob auch alles funktioniert. |
Kopieren Sie diese Dateien auf Ihren Account in Ihr
cgi-local-Verzeichnis und rufen Sie über den Browser die Datei pgpsymlink.sh auf
(http://Ihr-Domainname/cgi-local/pgpsymlink.sh).
Kopieren Sie Ihre Keyrings in Ihr /cgi-local-Verzeichnis.
Editieren Sie die Datei pgp.cfg und ersetzen Sie User-ID
durch Ihre bei uns gültige User-ID, wenn also Ihre User-ID z.B. beispi
ist:
PubRing="/u/web/beispi/cgi-local/pubring.pkr"
SecRing="/u/web/beispi/cgi-local/secring.skr"
Editieren Sie die Datei pgptest.pl und ersetzen Sie hier in
Zeile Nummer 22 sowohl die User-ID (wie oben) als auch die E-Mail-Adresse für die der
Text verschlüsselt werden soll.
Original:
$pgpcmd = '/u/web/User-ID/cgi-local/pgpe
-r Empfaenger@Ihr-Domainname.de -aft 2>&1';
Bitte ändern in (zum Beispiel):
$pgpcmd = '/u/web/beispi/cgi-local/pgpe
-r beispiel@beispiel.de -aft 2>&1';
Das wars auch schon.
Wenn Sie jetzt die Ausgabe nicht auf dem Bildschirm sondern
in eine E-Mail haben wollen, dann könnte das Script pgptest.pl wie folgt aussehen:
#!/usr/local/bin/perl
# PGPDemo.pl by C. Hatcher 07 Dec 1997
#
# Tests the operation of PGP 5.0 from a Perl script
#
# Comments to chatcher@chaosweb.com
$| = 1;
print "Content-type: text/plain\n\n";
require 'cgi-lib.pl';
&ReadParse (*puffer);
# This should be changed to your PGP path and desired recipient
# recipient tells pgp which key to use for the encryption
# Lose the 2>&1 if you don't want to see the PGP messages
$pgpcmd = '/u/web/USER-ID/cgi-local/pgpe -r beispiel@beispiel.de
-u website@donau.net -atf 2>&1';
print $pgpcmd;
# We need a library function
use IPC::Open2;
# Open the PGP program for bidirectional I/O
$pid = open2(\*READPGP, \*WRITEPGP, $pgpcmd);
# Send text to be encrypted to PGP
print WRITEPGP "Name: $puffer{'Name'}\n";
print WRITEPGP "E-Mail: $puffer{'EMail'}\n\n";
print WRITEPGP "Kommentar:\n";
print WRITEPGP "$puffer{'Kommentar'}";
# Encrypt the data
close(WRITEPGP);
# Get the encrypted data from PGP
@pgptext = <READPGP>;
close(READPGP);
# Return information to user
print @pgptext;
# Mail information to user
open(SENDMAIL,"|/usr/lib/sendmail -t") || die ("Fehler
beim Versenden der Mail: $!\n");
print SENDMAIL "To: beispiel\@verio.de\n";
print SENDMAIL "Subject: PGP-Mail\n";
print SENDMAIL "From: website\@beispiel.de <website\@beispiel.de>\n";
print SENDMAIL "\n";
print SENDMAIL @pgptext;
close (SENDMAIL);
Die dazugehörige HTML-Datei könnte so aussehen:
<html>
<head>
<title>Neue Seite 1</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage
3.0">
</head>
<body>
<form action="http://www.beispiel.de/cgi-local/pgptest.pl"
method="POST">
<p><strong>Geben Sie Ihren Kommentar in folgendes Feld ein:</strong><dl>
<dd><textarea name="Kommentar" rows="5" cols="42"></textarea></dd>
</dl>
<p><strong>Teilen Sie uns bitte mit, wie wir mit Ihnen Kontakt
aufnehmen können:</strong><dl>
<dd><pre>Name <input type="text" size="35"
name="Name">
E-Mail <input
type="text" size="35" name="EMail">
</pre>
</dd>
</dl>
<p><input type="submit" value="Kommentar abschicken"></p>
</form>
</body>
</html>
|